


// function tmsExport($ngBootbox: BootboxService,$rootScope:ImainRootScope,commonService:ICommonService,routeService:routeService ): ng.IDirective {
//     return {
//         restrict: 'E',
//         templateUrl: './src/directives/tms-export/tms-export.html',
//         transclude: true,
       
//         link: ($scope: IRotate) => {
          
      
//             var ExnumChildren,excelStorage,excelRef;
//             console.log('exporting')
            

//             setTimeout(() => {
//                 excelStorage = window.localStorage.getItem("refExcel");
//                 if (excelStorage) {
//                     excelRef = new Wilddog(excelStorage);
//                     // excelRef = new Wilddog(routeService.getWilddogUrl() + 9 + "/" + 2);
//                     //获取子节点个数
//                     excelRef.once("value", (snapshot) => {
//                         ExnumChildren = snapshot.numChildren();
//                         //console.log(ExnumChildren);
//                         /**新增报表导出消息 */
//                         addExcelMess();
//                     })
//                     /**获取报表导出消息 */
//                     getExcelMess();
//                 }
//             }, 0);

//             /**手动刷新页面view */
//             function aplyView  ()  {
//                 /**手动刷新页面view */
//                 if (!$scope.$$phase) {
//                     $scope.$apply(() => { $rootScope.excelExportList });
//                 }
//             }
//             /**报表缓存数字-1 */
//             function ExcelNumD  ()  {
//                 if (JSON.parse(window.localStorage.getItem("loginData")).ExcelNum.length != 0) {
//                     let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                     loginData["ExcelNum"] = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum - 1;
//                     loginData["excelTime"].splice(0, 1);
//                     window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                     $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;
//                 }
//             }
//             /**报表空队列 */
//             function ExcelNull (indea: number)  {
//                 let excelTime = JSON.parse(window.localStorage.getItem("loginData")).excelTime;
//                 $rootScope.excelExportList.push({
//                     time: excelTime[indea],
//                     skey: '',
//                     ckey: '',
//                     CnFileName: "文件缓冲中...",
//                     IsTrue: true,
//                     Path: '',
//                     ProgressValue: 0,
//                     IsCancel: false,
//                     IsFakeInfo: true
//                 })
//             }

//             /**获取报表导出消息 */
//             function getExcelMess  () {
//                 excelRef.limitToFirst(50).once("value", (snapshot) => {
                   
//                     if (snapshot.val()) {
//                         $rootScope.excelExportList = [];
//                         let oneArr = [];
//                         snapshot.forEach((snap) => {
//                             let exceLArr = [];
//                             snap.forEach((childSnapshot) => {
//                                 //console.log(snap.val());
//                                 exceLArr.push({
//                                     ckey: childSnapshot.key(),
//                                     CnFileName: childSnapshot.val().CnFileName,
//                                     IsTrue: childSnapshot.val().IsTrue,
//                                     Path: childSnapshot.val().Path,
//                                     ProgressValue: childSnapshot.val().ProgressValue,
//                                     IsCancel: childSnapshot.val().IsCancel == undefined ? false : true
//                                 })
//                             })
//                             oneArr.push({
//                                 zkey: snap.key(),
//                                 zdata: exceLArr
//                             });

//                         })
                        
//                         for (let k = 0;  oneArr.length > k; k++) {
//                             //console.log(oneArr[k].zdata);
//                             let tmpArr = oneArr[k].zdata;
//                             let tmpKey = oneArr[k];
//                             var maxPv = tmpArr[0];
//                             let asTrue = true;
//                             let asCancel = false;
//                             for (var i = 0;   tmpArr.length>i; i++) {
//                                 /**是否失败 */
//                                 if (tmpArr[i].IsTrue == false) {
//                                     asTrue = false;
//                                 }
//                                 if (tmpArr[i].IsCancel == true) {
//                                     asCancel = true;
//                                 }
//                                 /**取最大值 */
//                                 if (  tmpArr[i].ProgressValue > maxPv.ProgressValue) maxPv = tmpArr[i];
//                             }
//                             if (asCancel == true && (maxPv.ProgressValue == 100 || asTrue == false)) {
//                                 var aschildRef = new Wilddog(routeService.getWilddogUrl() + JSON.parse(window.localStorage.getItem("loginData")).id + "/" + 2 + "/" + tmpKey.zkey);
//                                 /**删除 */
//                                 aschildRef.remove();
//                                 /**缓存数字-1 */
//                                 // ExcelNumD();
//                             }
//                             if (asCancel == false) {
//                                 $rootScope.excelExportList.push({
//                                     time: normaltime(tmpKey.zkey),
//                                     skey: tmpKey.zkey,
//                                     ckey: maxPv.ckey,
//                                     CnFileName: maxPv.CnFileName,
//                                     IsTrue: asTrue,
//                                     Path: maxPv.Path,
//                                     ProgressValue: maxPv.ProgressValue,
//                                     IsCancel: asCancel
//                                 })
//                             }
//                             //console.log($rootScope.excelExportList);
//                             $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;
//                         }
//                         if(JSON.parse(window.localStorage.getItem("loginData")).excelTime.length){
//                             for (let indea = 0;  JSON.parse(window.localStorage.getItem("loginData")).excelTime.length>indea; indea++) {
//                                 /**报表空队列 */
//                                 ExcelNull(indea);
//                             }
//                         }
                        
//                         // 刷新后，$rootScope.EnumChildren == 0,这里将其赋值
//                         $rootScope.EnumChildren = $rootScope.excelExportList.length;
//                         let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                         loginData["ExcelNum"] = $rootScope.EnumChildren;
//                         window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                     }
//                     /**手动刷新页面view */
//                     aplyView();
//                 })
            
//                 //console.log($rootScope.excelExportList);
//             }

//             /**新增报表导出 */
//             function addExcelMess  ()  {
//                 let numa = 0;
//                 excelRef.on("child_added", (snapshot, prev) => {
//                     numa++;
//                     //console.log(numa);
//                     if (numa > ExnumChildren) {
//                         //console.log($(".excels").attr("class").indexOf("open"));
//                         if ($(".excels").attr("class").indexOf("open") == -1) {
//                             $(".menuss").dropdown('toggle');
//                         }
//                         // console.log(snapshot.val(), prev);
//                         snapshot.forEach((snap) => {
//                             // console.log(snap.val());
//                             // console.log(snap.val(), prev, "added");
//                             $rootScope.excelExportList.push({
//                                 time: normaltime(snapshot.key()),
//                                 skey: snapshot.key(),
//                                 ckey: snap.key(),
//                                 CnFileName: snap.val().CnFileName,
//                                 IsTrue: snap.val().IsTrue,
//                                 Path: snap.val().Path,
//                                 ProgressValue: snap.val().ProgressValue,
//                                 IsCancel: !snap.val().IsCancel ? false : true
//                             })
//                             commonService.trimArr($rootScope.excelExportList);
//                             //console.log($rootScope.EnumChildren, $rootScope.excelExportList.length, "ss");
//                             for (let y = 0;  $rootScope.excelExportList.length >y; y++) {
//                                 if (!$rootScope.excelExportList[y].skey) {
//                                     $rootScope.excelExportList.splice(y, 1);
//                                     let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                                     loginData["excelTime"].splice(0, 1);
//                                     window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                                     break;
//                                 }
//                             }

//                         })
//                         $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;
//                         if (  $rootScope.excelExportList.length>$rootScope.EnumChildren) {
//                             $rootScope.EnumChildren = $rootScope.excelExportList.length;
//                             let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                             loginData["ExcelNum"]=$rootScope.EnumChildren;
//                             window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                         }
//                         //console.log($rootScope.excelExportList);
//                         /**手动刷新页面view */
//                         aplyView();
//                     }
//                 })

//                 excelRef.on("child_changed", (snapshot, prev) => {
//                     // console.log(" child------changed",snapshot.key());
//                     let exclistArr = [];
//                     let exArr = [];
//                     // if (numa > ExnumChildren) {
//                     let maxda = {
//                         CnFileName: '',
//                         IsTrue: true,
//                         Path: '',
//                         ProgressValue: 0,
//                         IsCancel: false
//                     };
//                     snapshot.forEach((snap) => {
//                         // console.log(snap.val(), "cc");
//                         if (  snap.val().ProgressValue>=maxda.ProgressValue) {
//                             maxda = snap.val();
//                             maxda["ckey"]=snap.key();
//                         }
//                     });
//                     // console.log('child is ',snapshot.val());
//                     // console.log('maxda is ',maxda);
//                     if (!$rootScope.excelExportList.some((item, index) => {
//                         return item.skey == snapshot.key()
//                     })) {
//                         for (let y = 0;  $rootScope.excelExportList.length>y; y++) {
//                             if (!$rootScope.excelExportList[y].skey) {
//                                 $rootScope.excelExportList.splice(y, 1);
//                                 let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                                 loginData["excelTime"].splice(0, 1);
//                                 window.localStorage.setItem("loginData", JSON.stringify(loginData));
                                
//                                 break;
//                             }
//                         }
//                         $rootScope.excelExportList.push({
//                             time: normaltime(snapshot.key()),
//                             skey: snapshot.key(),
//                             ckey:  maxda["ckey"],
//                             CnFileName: maxda.CnFileName,
//                             IsTrue: maxda.IsTrue,
//                             Path: maxda.Path,
//                             ProgressValue: maxda.ProgressValue,
//                             IsCancel: !maxda.IsCancel ? false : true
//                         })
//                         if (  $rootScope.excelExportList.length>$rootScope.EnumChildren) {
//                             $rootScope.EnumChildren = $rootScope.excelExportList.length;
//                             let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                             loginData["ExcelNum"]=$rootScope.EnumChildren;
//                             window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                         }
//                     } else {
//                         $rootScope.excelExportList.forEach((item, index) => {
//                             if (item.skey == snapshot.key() &&   maxda.ProgressValue>item.ProgressValue) {
//                                 // item = maxda;
//                                 if (maxda.IsCancel === true && (maxda.ProgressValue == 100 || maxda.IsTrue == false)) {
//                                     var aschildRef = new Wilddog(routeService.getWilddogUrl() + JSON.parse(window.localStorage.getItem("loginData")).id + "/" + 2 + "/" + snapshot.key());
//                                     /**删除 */
//                                     aschildRef.remove();

//                                 } else if (!maxda.IsCancel) {
//                                     $rootScope.excelExportList[index] = {
//                                         time: item.time,
//                                         skey: item.skey,
//                                         ckey: item.ckey,
//                                         CnFileName: item.CnFileName,
//                                         IsTrue: item.IsTrue,
//                                         Path: maxda.Path,
//                                         ProgressValue: maxda.ProgressValue,
//                                         IsCancel: item.IsCancel
//                                     }
//                                 }
//                                 /**手动刷新页面view */
//                                 aplyView();
//                             }
//                         })
                        
//                     }

//                     $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;
//                     /**手动刷新页面view */
//                     aplyView();
//                 })
            
//             }

//             //unix时间戳转化为常用时间
//             function normaltime  (timer)  {
//                 let neda: any = (timer.split("_")[1] - 621355968000000000) / 10000000;
//                 let neDate = new Date(parseInt(neda) * 1000);
//                 //console.log(commonService.transformTime(neDate,"MMddHHmm"));
//                 return commonService.transformTime(neDate, "MM/dd HH:mm:ss")

//             }

//             /**报表下载 */
//             function downloadExcel  (Path: string, skey: string)  {
//                 window.location.href = Path;
//                 var SchildRef = new Wilddog(routeService.getWilddogUrl() + JSON.parse(window.localStorage.getItem("loginData")).id + "/" + 2 + "/" + skey);
//                 /**删除 */
//                 SchildRef.remove();
//                 $rootScope.excelExportList.forEach((itemP, indexP) => {
//                     // console.log($rootScope.excelExportList, skey, itemP, "下载");
//                     if (itemP.skey === skey) {
//                         $rootScope.excelExportList.splice(indexP, 1);
//                         /**缓存数字-1 */
//                         let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                         loginData["ExcelNum"] = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum - 1;
//                         window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                         $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;

//                     }

//                 })

//             }
//             /**取消下载 */
//             function selectCancel  (skey: string, ckey: string, IsCancel: boolean, IsTrue: boolean, ProgressValue: number)  {
//                 if (!skey) {
//                     $ngBootbox.alert('文件正在生成中，暂时无法取消');
//                     return;
//                 }
//                 var SchildRef = new Wilddog(routeService.getWilddogUrl() + JSON.parse(window.localStorage.getItem("loginData")).id + "/" + 2 + "/" + skey + "/" + ckey);
//                 if (IsTrue == false || ProgressValue == 100) {
//                     var ZchildRef = new Wilddog(routeService.getWilddogUrl() + JSON.parse(window.localStorage.getItem("loginData")).id + "/" + 2 + "/" + skey);
//                     /**删除 */
//                     ZchildRef.remove();
//                     $rootScope.excelExportList.forEach((itemK, indexK) => {
//                         if (itemK.skey === skey) {
//                             $rootScope.excelExportList.splice(indexK, 1);
//                             /**缓存数字-1 */
//                             let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                             loginData["ExcelNum"] = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum - 1;
//                             window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                             $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;
//                         }
//                     })
//                 } else if (ProgressValue > 0 && ProgressValue != undefined) {
//                     SchildRef.update({
//                         IsCancel: true
//                     })
//                     $rootScope.excelExportList.forEach((itemK, indexK) => {
//                         if (itemK.skey === skey) {
//                             $rootScope.excelExportList.splice(indexK, 1);
//                             /**缓存数字-1 */
//                             let loginData = JSON.parse(window.localStorage.getItem("loginData"));
//                             loginData["ExcelNum"] = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum - 1;
//                             window.localStorage.setItem("loginData", JSON.stringify(loginData));
//                             $rootScope.EnumChildren = JSON.parse(window.localStorage.getItem("loginData")).ExcelNum;
//                         }
//                     })
//                 }

//             }
            

//             $rootScope.downloadExcel = downloadExcel;
//             $rootScope.selectCancel = selectCancel;
            
//             $scope.$on("$destroy",()=>{
//                 excelRef.off("value");
//                 excelRef.off("child_added");
//                 excelRef.off("child_changed");
//             })

//         }

//     }
// }


// tmsExport['$inject'] = ["$ngBootbox","$rootScope","commonService","routeService"]
// angular.module('tmsExport', []).directive('tmsExport', tmsExport);